Content display methods

ABSTRACT

Methods and systems involving a graphic display in a head mounted display (HMD) are disclosed herein. An exemplary system may be configured to: (1) at a computing system associated with a head-mountable display, receive head-movement data indicative of head movement; (2) use one or more context signals to determine a first activity associated with the head-mountable device; (3) determine a head-movement interpretation scheme corresponding to the first activity; (4) apply the determined head-movement interpretation scheme to determine input data corresponding to the received head-movement data; and (5) provide the determined input data for at least one function of the head-mountable display.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

Computing systems such as personal computers, laptop computers, tabletcomputers, cellular phones, and countless types of Internet-capabledevices are prevalent in numerous aspects of modern life. Over time, themanner in which these devices are providing information to users isbecoming more intelligent, more efficient, more intuitive, and/or lessobtrusive.

The trend toward miniaturization of computing hardware, peripherals, aswell as of sensors, detectors, and image and audio processors, amongother technologies, has helped open up a field sometimes referred to as“wearable computing.” In the area of image and visual processing andproduction, in particular, it has become possible to consider wearabledisplays that place a very small image display element close enough to awearer's (or user's) eye(s) such that the displayed image fills ornearly fills the field of view, and appears as a normal sized image,such as might be displayed on a traditional image display device. Therelevant technology may be referred to as “near-eye displays.”

Near-eye displays are fundamental components of wearable displays, alsosometimes called “head-mounted displays” (HMDs). A head-mounted displayplaces a graphic display or displays close to one or both eyes of awearer. To generate the images on a display, a computer processingsystem may be used. Such displays may occupy part or all of a wearer'sfield of view. Further, head-mounted displays may be as small as a pairof glasses or as large as a helmet.

Emerging and anticipated uses of wearable displays include applicationsin which users interact in real time with an augmented reality.Augmented reality generally refers to a real-time view of a real-worldenvironment that is augmented with additional content. Typically, a userexperiences augmented reality through the use of a computing system. Thecomputing system is typically configured to generate the real-time viewof the environment, either by allowing a user to directly view theenvironment or by allowing the user to indirectly view the environmentby generating and displaying a real-time representation of theenvironment to be viewed by the user.

Further, the computing system is typically configured to generate theadditional content. The additional content may include, for example, auser-interface through which the user may interact with the computingsystem. Typically, the computing system overlays the view of theenvironment with the user-interface, such that the user sees the view ofthe environment and the user-interface at the same time.

SUMMARY

In one aspect, a computer-implemented method is provided. Thecomputer-implemented method may comprise: (1) at a computing systemassociated with a head-mountable display, receiving head-movement dataindicative of head movement; (2) using one or more context signals todetermine a first activity associated with the head-mountable device;(3) determining a head-movement interpretation scheme corresponding tothe first activity; (4) applying the determined head-movementinterpretation scheme to determine input data corresponding to thereceived head-movement data; and (5) providing the determined input datafor at least one function of the head-mountable display.

In another aspect, a system is provided. The system may include ahead-mountable display. The system may be configured for: (1) receivinghead-movement data from the head-mountable display indicative of headmovement; (2) using one or more context signals to determine a firstactivity associated with the head-mountable display; (3) determining ahead-movement interpretation scheme corresponding to the first activity;(4) applying the determined head-movement interpretation scheme todetermine input data corresponding to the received head-movement data;and (5) providing the determined input data for at least one function ofthe head-mountable display.

In another aspect, a wearable-computing system is provided. Thewearable-computing system may include a processor and a non-transitorycomputer readable medium. The non-transitory computer-readable mediummay be configured to store at least program instructions that, whenexecuted by the processor, cause the wearable-computing system to carryout functions comprising: (1) receiving head-movement data indicative ofhead movement; (2) using one or more context signals as a basis fordetermining a first activity that is associated with the head-mountabledevice; (3) determining a head-movement interpretation scheme thatcorresponds to the first activity; (4) apply the determinedhead-movement interpretation scheme to determine input data thatcorresponds to the received head-movement data; and (5) provide thedetermined input data for at least one function of the head-mountabledisplay.

These as well as other aspects, advantages, and alternatives will becomeapparent to those of ordinary skill in the art by reading the followingdetailed description, with reference where appropriate to theaccompanying drawings. Further, it should be understood that thissummary and other descriptions and figures provided herein are intendedto illustrative embodiments by way of example only and, as such, thatnumerous variations are possible. For instance, structural elements andprocess steps can be rearranged, combined, distributed, eliminated, orotherwise changed, while remaining within the scope of the embodimentsas claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow chart illustrating a method for determining a movement,according to an exemplary embodiment.

FIGS. 2A, 2B, 2C, and 2D are diagrams illustrating body movement,according to an exemplary embodiment.

FIGS. 3A and 3B are diagrams illustrating accelerometer data, accordingto an exemplary embodiment.

FIGS. 4A through 4D are diagrams illustrating gyroscopic datacorresponding to accelerometer data shown in FIGS. 3A and 3B, accordingto an exemplary embodiment.

FIG. 5A is a diagram illustrating a first example system for receiving,transmitting, and displaying data, according to an exemplary embodiment.

FIG. 5B is a diagram illustrating an alternate view of the systemillustrated in FIG. 5A, according to an exemplary embodiment.

FIG. 6A is a diagram illustrating a second example system for receiving,transmitting, and displaying data, according to an exemplary embodiment.

FIG. 6B is a diagram illustrating a third example system for receiving,transmitting, and displaying data, according to an exemplary embodiment.

FIG. 7 is a simplified block diagram illustrating an example computernetwork infrastructure, according to an exemplary embodiment.

FIG. 8 is a simplified block diagram illustrating example components ofan example computing system, according to an exemplary embodiment.

FIG. 9A is a diagram illustrating aspects of an example user-interface,according to an exemplary embodiment.

FIG. 9B is a diagram illustrating aspects of an example user-interfaceafter receiving movement data corresponding to an upward movement,according to an exemplary embodiment.

FIG. 9C is a diagram illustrating aspects of an example user-interfaceafter selection of a selected content object, according to an exemplaryembodiment.

FIG. 9D is a diagram illustrating aspects of an example user-interfaceafter receiving input data corresponding to a user input, according toan exemplary embodiment.

DETAILED DESCRIPTION

Exemplary methods and systems are described herein. It should beunderstood that the word “exemplary” is used herein to mean “serving asan example, instance, or illustration.” Any embodiment or featuredescribed herein as “exemplary” is not necessarily to be construed aspreferred or advantageous over other embodiments or features. In thefollowing detailed description, reference is made to the accompanyingfigures, which form a part thereof. In the figures, similar symbolstypically identify similar components, unless context dictatesotherwise. Other embodiments may be utilized, and other changes may bemade, without departing from the spirit or scope of the subject matterpresented herein.

The exemplary embodiments described herein are not meant to be limiting.It will be readily understood that the aspects of the presentdisclosure, as generally described herein, and illustrated in thefigures, can be arranged, substituted, combined, separated, and designedin a wide variety of different configurations, all of which areexplicitly contemplated herein.

A. Overview

A wearable computer may include a graphical display (e.g., such as ahead-mounted display (HMD) or heads-up display (HUD)). In addition, awearable computer may include sensors, such as a gyroscope, anaccelerometer, a gravimeter, a camera, and/or a magnetometer, which maydetect a wearer's movements. Configured as such, a wearable computer mayallow a wearer to provide movement data via body movements to controlcontent shown on the graphical display. Further, a wearable computer maybe worn on the head of a user such that the user's head movements may bedirected to control movements of graphical content shown on the HMD.Such directed movements may be referred to as “UI-targeted headmovements,” representative of targeted movements of the head which aredirected towards a user-interface.

However, a wearer's head is rarely still. In an exemplary embodiment,the HMD may take the form of or include eyewear that may be worn on aperson's face and/or head. Since eyewear may securely fit a wearer'sface, the eyewear may closely follow the movements of the wearer. Assuch, the HMD may be configured to receive data indicative of theslightest movements of the wearer's head regardless of whether themovements are UI-targeted head movements.

Further, while making UI-targeted movements with the HMD, the wearer ofthe HMD may move their head due to other activities engaged in certainactivity (e.g., talking, walking, playing a game, and/or riding on abus), creating additional head movements that may not be UI-targetedhead movements. Consequently, movements of the wearer's head mayerroneously move content on the HMD. Thus, exemplary methods and systemsmay use data from sensors to distinguish between UI-targeted headmovements and non-UI-targeted head movements.

Generally, non-UI-targeted head movements may vary depending upon thewearer's activity. As the wearer changes from one activity to another,the accuracy of a static head-movement filter may not providesatisfactory results. Therefore, in an exemplary embodiment, thewearable computer may adjust the sensitivity levels of its motionsensors based on a wearer-activity context to distinguish betweenUI-targeted and non-UI-targeted head movements. For example, a wearablecomputer may receive one or more context signals to help determine thewearer-activity context. After identifying the wearer-activity context,the sensors may adjust perhaps based on different “modes of operation”(e.g., bus travelling mode, walking mode, and/or video game mode) toaccommodate for the given activity and isolate the UI-targeted headmovements.

For instance, the wearer may be on a moving bus while also operating thewearable computer. The wearable computer may determine context signalsby recognizing the time of day and/or the wearer's schedule (i.e. 7:15AM when the wearer typically gets on a bus to go to work), changes intemperature (e.g., from an outdoor environment to an indoor setting),movements of the wearer (e.g., acceleration, velocity, inertia, etc.),location of the wearable computer (e.g., using GPS, WiFi, capacitivesensing, RF ID, and/or other location-determination systems or methods),and other information. Based on these context signals, the wearablecomputer may determine that the wearer is getting on a moving bus, mostlikely on their way to work. The sensors on the wearable computer maythen detect certain non-UI-targeted head movements associated withriding on a bus (e.g., jitter due to the vibrations of the bus engine,bounces from the bus moving on a bumpy road, etc.). As such, thewearable computer may adjust the settings of its sensors to filter out(e.g., dampen, reduce, attenuate, etc.) any movement data created by thenon-UI-targeted head movements associated with the bus. In addition, thewearable computer may also adjust its sensitivity levels to require morerecognizable or perhaps more exaggerated UI-targeted head movements tomove content on the wearable computer. As such, the wearable computermay identify the UI-targeted head movements and distinguish any othermovements accordingly.

B. Exemplary Methods for Receiving Data

FIG. 1 is a flow chart illustrating a method for determining a movement,according to an exemplary embodiment. In FIG. 1, method 100 is describedby way of example as being carried out by a wearable computer andpossibly a wearable computer that includes a head-mounted display (HMD).However, it should be understood that exemplary methods, such as method100, may be carried out by a wearable computer without wearing thecomputer. For example, such methods may be carried out by simply holdingthe wearable computer using the wearer's hands. Other possibilities mayalso exist.

Further, exemplary methods, such as method 100, may be carried out bydevices other than a wearable computer, and/or may be carried out bysub-systems in a wearable computer or in other devices. For example, anexemplary method may alternatively be carried out by a device such as amobile phone, which is programmed to simultaneously display a graphicobject in a graphic display and also provide a point-of-view video feedin a physical-world window. Other examples are also possible.

As shown by block 102 of FIG. 1, method 100 involves a wearable computerreceiving head-movement data that is indicative of head movement.Further, the wearable computer may use one or more context signals as abasis for determining a first activity that is associated with thehead-mountable device, as shown by block 104. Yet further, the wearablecomputer may determine a head-movement interpretation scheme thatcorresponds to the first activity, as shown by block 106. The wearablecomputer may also apply the determined head-movement interpretationscheme to determine input data that corresponds to the receivedhead-movement data, as shown by block 108. In addition, the wearablecomputer may provide the determined input data for at least one functionof the head-mountable display, as shown by block 110.

i. Receiving Head-Movement Data

As noted, block 102 of method 100 involves a computing system associatedwith a head-mountable display receiving head-movement data indicative ofhead movement. In some embodiments, sensors configured to detect headmovement and/or generate corresponding head-movement data may beconfigured to be part of the computing system and/or a wearablecomputer.

By way of example and without limitation, example sensors could be anyone or more of a motion detector (e.g., a gyroscope, an accelerometer, agravimeter, a camera, and/or a shock sensor), an impact sensor, aproximity sensor (e.g., capacitive sensing device), a locationdetermination device (e.g., a GPS device), a magnetometer, and anorientation sensor (e.g., a theodolite). Other detection devices orelements may be included within these sensors and other functions may beperformed by these sensors to receive movement data. Exemplaryembodiments of sensors that may be included in an example computingsystem are discussed further below with respect to FIGS. 5A and 9A.

In some embodiments, sensory configurations may be used with a wearablecomputer to receive movement data indicative of body movement. In someembodiments, a wearable computer may include a plurality of sensors toreceive movement data corresponding to a wearer's body (e.g., movementsof the wearer's head, hand gestures, arm movements, etc.). In someinstances, sensors in a wearable computer may receive head-movement datacorresponding to movements of a wearer's body (e.g., the wearer's head)while wearing an HMD.

In an exemplary embodiment, the wearable computer may receive ahead-movement data from a sensor and move content on a graphicaldisplay. In some instances, a wearable computer may display and move apointer (e.g., a selection icon, cursor, arrow, indicator, reticle, orother graphic icon) in the display of its HMD. In some embodiments, thepointer may include a tip, such as a cursor, to provide an indication ofits computational point. In addition, in some instances, the pointer maybe a reticle providing a given position (e.g., the center) of a displayas its computational point. In some embodiments, the pointer may notprovide an indication of its computational point (e.g., may not bevisible) and instead, may simply be defined by a position in the graphicdisplay, such as the center of the graphic display.

Further, in some embodiments, the wearable computer may allow a wearerto control the movement of content on the graphical display based onhead-movements. For example, in an exemplary embodiment, a pointerdisplayed by the wearable computer may operate much like a mouse pointerand a graphic object to function similar to a desktop icon on a personalcomputer. However, such a comparison of aspects of the disclosure hereinto other known computing systems is for purposes of example only, andshould not be taken to be limiting, as the pointer may take other formsor function in other ways without departing from the scope of theinvention.

FIGS. 2A, 2B, 2C, and 2D are diagrams illustrating body movement,according to an exemplary embodiment. In FIG. 2A, wearable computer 200may include sensors 208 to receive head-movement data from verticalrotation 222 of head 202. Further, in FIG. 2B, wearable computer 200 mayfurther utilize sensors 208 to receive movement data from horizontalrotation 224 of head 204. Yet further, in FIG. 2C, wearable computer 200may further utilize sensors 208 to receive movement data from diagonalrotation 226 of head 206. In FIG. 2D, wearable computer 200 may alsoutilize sensors 208 to receive movement data associated with tiltingmotion 236 of head 230 and tilting motion 238 of head 234. Othermovements of wearable computer 200 are possible, perhaps detected by useof other sensory devices to receive such data accordingly.

It should be understood that the examples herein are provided forillustration. There may be other head movements and/or techniques forreceiving head-movement data not described above, without departing fromthe scope of the embodiments herein.

ii. Determining Head Movement Data

In some embodiments, body movements may be characterized as UI-targetedmovements. Further, in some embodiments, certain types of body movementsmay be characterized in a respective class of UI-targeted movements. Forexample, head movements may include UI-targeted head movements, eyemovements may include UI-targeted eye movements, arm movements mayinclude UI-targeted arm movements, and gestures may include UI-targetedgestures, amongst other possibilities. Further, in some embodiments,movements that are not identified as UI-targeted movements may becharacterized as non-UI-targeted movements.

In an exemplary embodiment, UI-targeted movements may be directedtowards moving graphical content on a graphic display. In someinstances, UI-targeted movements may be made in a three-dimensionalspace (x, y, z). Further, data from UI-targeted movements in thethree-dimensional space may be mathematically converted to data in atwo-dimensional space (x, y), perhaps shown on a graphical display ofthe wearable computer. For example, software algorithms, including 3Dcomputational language and/or numerical computing environments, amongstother mathematical models, may be utilized to make such conversions.

As such, in some embodiments, UI-targeted movements may be directed tomove content on a graphic display. In particular, UI-targeted movementsmay move content such as a pointer on a two-dimensional graphic display.For example, the pointer may be fixed in one position of the graphicdisplay (e.g., the center of the graphic display) and the UI-targetedmovements may cause the graphic display to show portions of a largernavigable area (e.g., additional content in the graphic display). Insome embodiments, the pointer may not be fixed to any position in thegraphic display and UI-targeted movements may move the pointer relativeto the bounds of the graphic display. Other possibilities may alsoexist.

In some embodiments, UI-targeted movements may be directed at movingcontent in a particular direction. For example, referring to FIG. 2A,wearable computer 200 may receive movement data associated with verticalrotation 222 of head 202 and responsively cause pointer 210 to move on avertical path 208 along the Y-axis shown in graphic display 212. In someinstances, vertical rotation 222 may be a UI-targeted head movementdirected to move pointer 210 towards graphic object 214. In FIG. 2B,wearable computer 200 may receive movement data associated withhorizontal rotation 224 of head 204 and responsively cause pointer 210to move on a horizontal path 216 along the X-axis shown in graphicdisplay 212. In some instances, horizontal rotation 224 may be aUI-targeted head movement directed to move pointer 210 towards graphicobject 214.

Further, FIG. 2C shows that wearable computer 200 may receive dataassociated with diagonal rotation 226 of head 206 and responsively causepointer 210 to move on a diagonal path 218 with respect to both the Xand Y axes in graphic display 212. In some instances, diagonal rotation226 may be a UI-targeted head movement directed to move pointer 210towards graphic object 214. It should be noted that diagonal rotation226 may be in a given direction (e.g., top right to bottom left) fromthe perspective of the wearer and head 206, which is illustrated asfacing out from the page. As such, diagonal path 218 may also be thesame direction (e.g., top right to bottom left) when viewing graphicdisplay 212 from the perspective of the wearer, which is illustrated asfacing into the page. Therefore, diagonal rotation 226 corresponds tomoving pointer 210 along diagonal path 218 in graphic display 212.

In addition, FIG. 2D illustrates that wearable computer 200 may receivedata associated with tilting motion 236 of head 230 and responsivelycause graphic object 214 to rotate clockwise (according to the wearer'sperspective of graphic display 212). Further, FIG. 2D also illustratesthat wearable computer 200 may receive data associated with tiltingmotion 238 of head 234 and responsively cause graphic object 214 torotate counter-clockwise (according to the wearer's perspective ofgraphic display 212). In some instances, tilting motion 236 and 238 maybe UI-targeted head movements directed to rotate graphic object 214. Itshould be noted that if wearable computer 200 does not receive dataassociated with a tilting motion of head 232, graphic object 214 doesnot rotate. Other possibilities for UI-targeted head movements directingcontent may also exist.

As noted, one or more sensors may be associated with a wearablecomputer. In some embodiments, such sensors may be used to determineUI-targeted movement data. In some embodiments, sensitivity parametersmay be associated with sensors to distinguish between UI-targeted headmovements and non-UI-targeted head movements. For example, a value of agiven sensitivity parameter may be associated with the level ofsensitivity such that a high value of the given sensitivity parameterrepresents a high sensitivity level whereas a low value of the givensensitivity parameter represents a low sensitivity level, however, otherpossibilities may also exist.

For instance, while a wearer is operating the wearable computer at theirdesk (e.g., in their office), the value corresponding to the sensitivityparameter may be at the highest level (e.g., at a level ten on anexample scale from one to ten). The sensitivity level may be high due tolow jitter, little to no external vibrations, and/or infrequentunintentional movements, amongst other sources of non-UI-targetedmovements. Yet, if the wearer is on a moving bus while operating thewearable computer, non-UI-targeted movements may occur due to the bus'smovement, road conditions, and/or due to other bus passengers. As such,the value corresponding to the sensitivity parameter may be very low;e.g., set to two out of the example scale from one to ten.

Further, in some embodiments, a UI-targeted head movement may include apredetermined movement. In some instances, predetermined movements maydistinguish UI-targeted movements and non-UI-targeted movements.Further, in some instances, a wearer may make a UI-targeted headmovement in accordance with a predetermined head movement for panning,browsing, paginating, and/or scrolling content in the graphic display,among other possibilities. For example, referring back to FIG. 2A, themovement 222 from up to down on vertical path 208 (i.e. tilting wearablecomputer 200) may be a predetermined head movement. Further, movement222 may correspond to a UI-targeted head movement for continuousscrolling on a web browser shown on graphic display 212. In someembodiments, the movement 222 may correspond to a UI-targeted headmovement for panning between vertically-arranged areas in graphicdisplay 212.

Yet further, flicks of the head and/or tilting wearable computer 200 ina hard nod may be a predetermined movement for pagination, dividinggraphical content into discrete pieces, and separating graphicalcontent, amongst other possibilities. In some instances, as shown inFIG. 2B, movement 224 from left to right on horizontal path 216 may be aUI-targeted head movement for browsing through horizontally-arrangedgraphic objects shown in graphic display 212. In addition, movement 226may be a UI-targeted head movement for removing content (i.e., slashingthrough the content) among other possibilities.

In addition, as illustrated in FIG. 2D, tilting motion 236 of head 230may be a UI-targeted head movement to rotate graphic object 214clockwise and/or move pointer 210 to the right of graphic object 214(according to the wearer's perspective of graphic display 212). Further,tilting motion 238 of head 234 may be a UI-targeted head movement torotate graphic object 214 counterclockwise and/or move pointer 210 tothe left of graphic object 214 (according to the wearer's perspective ofgraphic display 212). Tilting motion 236 and 238 may be differentiatedfrom the other head movements (such as movement 224) and may providemore discrete interactions with content, possibly moving content in aslower manner. In addition, tilting motion 236 and 238 may also beassociated with selection commands and/or instructions to view optionmenus. Other possibilities may also exist.

In some embodiments, sensors may be used remotely with the wearablecomputer to receive movement data indicative of body movements. In someembodiments, a plurality of remote sensors (possibly implanted in awearer's body) may be used to receive body-movement data (e.g., datacorresponding to the movements of the wearer's neck, arms, hands, chest,waist, legs, feet, etc.) Further, in some instances, sensors may beplaced in and/or on objects in proximity to the wearer (e.g., vehicles,clothing, jewelry, accessories, cell phones, purses etc.) to receivemovement data. In some instances, sensors in a wearable computer mayreceive head-movement data corresponding to movements of a wearer's headwhile other sensors may be used to receive body-movement datacorresponding to the wearer's body, such as the wearer's waist. In suchinstances, head-movement data may be compared to body-movement data tofacilitate determining UI-targeted head movements.

For example, consider that a wearer is riding a bus while operating thewearable computer. In some instances, the head-movement data and thebody-movement data may include similar data patterns due to the bus'smovement, road conditions, and/or other external factors associated withnon-UI-targeted head movements. Further, patterns in the head-movementdata may be compared to patterns in the body-movement data to facilitaterecognizing UI-targeted head movements. For instance, the wearablecomputer may receive a spike in movement data due to the bus hitting abump in the road. Further, a remote sensor located on the wearer's waist(possibly attached to their belt) may receive a similar spike inmovement data due to the bus hitting the bump. Thus, the wearablecomputer may identify the spike in the head-movement data as anon-UI-targeted head movement. Where there are differences between thehead-movement data and the body-movement data, the wearable computer mayidentify corresponding head-movements as UI-targeted-head movements.

In addition, an example may involve the wearer operating the wearablecomputer while driving a car. However, instead of the remote sensorbeing located on the wearer, the sensor may be located proximate to thewearer, such as in the glove box of the car. Thus, head-movement datafrom the wearable computer may be compared with movement data from thesensor in the glove box to facilitate identifying UI-targeted headmovements. Further, in some embodiments, a plurality of sensors mayassociated with the user and in objects proximate to the user for“skeletal tracking” to receive angles of body tilts, body motions, andbody orientations, among other possibilities.

It should be understood that the examples herein are provided forillustration. There may be other body movements that may characterizedas UI-targeted movements or non-UI-targeted movements that are notdescribed above, without departing from the scope of the embodimentsherein.

iii. Using Context Signals

As noted, block 104 of method 100 involves using one or more contextsignals to determine a first activity associated with the head-mountabledisplay. In some embodiments, context signals may be obtained by sensorsassociated with the computing system and/or the head-mountable display.

By way of example and without limitation, the wearable computer and/orcomputing system may include any one or more of a climate sensor (e.g.,digital thermometer, rain sensors, humidity detector, etc.), microphones(possibly for voice recognition), sound detection technology,forward-facing cameras (possibly for facial recognition and/or toreceive information regarding the environment), motion sensors forgesture detection, ambient light sensors (perhaps to differentiate beingindoors versus outdoors), and wireless localization (possibly forproximity detection), among many other possible sensors to receivecontext signals. Other context detection devices or elements may also beincluded within the wearable computer to receive context signals, suchas the motion detectors (e.g., a gyroscope, an accelerometer, agravimeter, a camera, and/or a shock sensor) described above. Further,other functions may be performed by these devices or elements to receivecontext signals, perhaps in combination with the other sensors.Exemplary embodiments of sensors that may be included in an examplecomputing system are discussed further below with respect to FIGS. 5Aand 9A.

Accordingly, the wearable computer may receive various context signalsusing one or more sensors associated with the wearable computer and/orcomputing system. A context signal may be any signal that provides ameasurement of or otherwise provides information pertaining to the stateor the environment associated with a certain subject (e.g., with acertain person, device, event, etc.). For example, the context signalsmay include: (a) the current time, (b) the current date, (c) the currentday of the week, (d) the current month, (e) the current season, (f) atime of a future event or future user-context, (g) a date of a futureevent or future user-context, (h) a day of the week of a future event orfuture context, (i) a month of a future event or future user-context,(j) a season of a future event or future user-context, (k) a time of apast event or past user-context, (l) a date of a past event or pastuser-context, (m) a day of the week of a past event or pastuser-context, (n) a month of a past event or past user-context, (o) aseason of a past event or past user-context, ambient temperature nearthe user (or near a wearable computer associated with a user), (p) acurrent, future, and/or past weather forecast at or near a user'scurrent location, (q) a current, future, and/or past weather forecast ator near a location of a planned event in which a user and/or a user'sfriends plan to participate, (r) a current, future, and/or past weatherforecast at or near a location of a previous event in which a userand/or a user's friends participated, (s) information on user'scalendar, such as information regarding events or statuses of a user ora user's friends, (t) information accessible via a user's socialnetworking account, such as information relating a user's status,statuses of a user's friends in a social network group, and/orcommunications between the user and the users friends, (u) noise levelor any recognizable sounds detected by a wearable computer, (v) devicesthat are currently available to communicate with the wearable computer,(w) devices that have been detected by the wearable computer, (x)devices associated with the wearable computer (e.g., devices that are“trusted” by the wearable computer, devices associated with the user'saccount, etc.), (y) information derived from cross-referencing any twoor more of: information on a user's calendar, information available viaa user's social networking account, and/or other context signals orsources of context information, (z) health statistics orcharacterizations of a user's current health (e.g., whether a user has afever, whether a user just woke up from being asleep, whether a user'sblood sugar concentration is within a normal range, and/or whether auser's pacemaker receives data associated with an adequate heart rate),and (aa) a user's recent context as determined from sensors on or nearthe user and/or other sources of context information, (bb) a currentlocation, (cc) a past location, and (dd) a future location.

Some context signals may take the form of discrete measurements. Forexample, a temperature measurement or a current GPS location may be usedas a context signal. On the other hand, context signals may also bedetermined or measured over time, or may even be a continuous signalstream. For instance, an exemplary device may use the current volume ofa continuous audio feed from an ambient microphone as one contextsignal, and the volume of a continuous audio feed from a directionalmicrophone as another context signal. Further, context signals mayprovide for patterns of data, possibly identifying an activity. Forinstance, a swinging pattern may be recognized by one or more movementsensors in the wearable computer to identify that the wearer is swingingback and forth on a hammock.

In some embodiments, a “change in context” may be defined by changesbetween values of one or more context signals. Alternatively, a changein context may include deviations to a data-based description ormodifications to the characterization of an environment or state that isdetermined or derived from one or more context signals. For example, achange in context may take the form of data indicating changes to theenvironment or state information such as moving from “home” to “atwork,” from “outside” to “in a car,” from “outdoors” to “indoors,” from“inside” to “outside,” from “free” to “in a meeting,” etc. In someinstances, a change in context may indicate an action indicative ofchanges to the environment or state information such as “going to work,”“getting in the car,” “going inside,” “going outside,” “going to ameeting,” etc. Furthermore, a change in context may be a qualitative orquantitative indication that is determined based on one or more contextsignals. For example, context signals indicating a change in time to6:30 AM on a weekday and that a user is located at their home may beused to determine the change in context such that the user went from“sleeping” to “getting ready for work.” In some instances, the change incontext may be indicate a change to the environment or state informationbut may simply be reflected in a database as “going to work.”

In some embodiments, context signals, such as those mentioned above, maydetermine an activity, perhaps a “first activity” that the wearer may beengaged in. In particular, context signals received by wearable computermay be indicative of a first activity. A first activity may correspondto the wear's movement after placing the wearable computer on thewearer's head. Further, the first activity may correspond to thewearer's activity after the wearable computer has woken up from sleep(e.g., after changing modes from sleep mode to another mode, etc.). Yetfurther, the first activity may be correspond to an activity after thewearer has interacted with the wearable computer to manually record theactivity (e.g., by pushing a button on the wearable computer, tappingthe touch pad mounted on the wearable computer, etc.). However, in someinstances, the first activity may be recognized after a calibrationprocess is performed by the wearer. Further, in some instances, a firstactivity may be the wearer's activity after the wearable computerauthenticates the wearer. Other possibilities may also exist.

A second activity may generally be any activity other than the firstactivity of the wearer. Sensors in the wearable computer may be used todetermine the difference between the first activity and the secondactivity by detecting context signals, perhaps as described above.Further, there may be other activities, such as a third activity, thatthe wearable computer may determine. In some instances, the thirdactivity may be the same as the first activity. Other possibilities mayalso exist.

Further, in some embodiments, the wearer may simply provide anindication to the wearable computer and/or computing system that thewearer is involved in an activity and/or is about to engage in anactivity. Upon providing such an indication, the wearable computerand/or computing system may then enter a specific mode of operationand/or initiate a head-movement interpretation scheme that correspondsto the activity indicated. For example, the wearer may be preparing togo on a run on a treadmill. Just prior to starting the run, the wearermay press a button on the side of the wearable computer indicating thatthe wearer is about to start running.

In some instances, the wearable computer may then enter a “running mode”(i.e. utilize a head-movement interpretation scheme) designed for usinga user interface of the wearable computer such that the wearer may bothrun and operate the wearable computer. As noted, there may be a valuefor a sensitivity parameter used to adjust the sensitivity of thesensors. In this instance, upon initiating a running mode and/or thehead-movement interpretation scheme for running, this value may be setto decrease the sensitivity level of the sensors while running (e.g.,set to a level one on the example scale from one to ten).

Further, in some instances, a mode of operation employing ahead-movement interpretation scheme may provide for different modalitiesto accommodate operating the wearable computer. For example, referringto the treadmill illustration above, running may create large amounts ofvertical (e.g., up and down) head movements. In such instances, contentmay no longer be browsed and/or scrolled through using vertical headmovements. Instead, scroll bars may be placed horizontally such thathorizontal head movements must used to browse and/or scroll throughcontent. Further, in some instances, upon initiating the run, verticalhead-movements may be ignored such that only horizontal UI-targetedmovements may be used to control content.

In some embodiments, the wearable computer and/or computing system mayobtain data from one or more sensors to determine an activity. Forexample, an accelerometer, a gyroscope, and/or a gravimeter, may providecontext signals indicative of the wearer's activity. In particular, anaccelerometer may provide wearer-related translational data while agyroscope may be used to obtain wearer-related rotational data. In suchinstances, such data may be used to determine an activity. Further, asnoted, sensory configurations may be used remotely with the wearablecomputer to determine an activity. For example, referring to a previousscenario, a wearer driving a car while operating the wearable computermay also have a sensor in the car's glove compartment. Upon receivinghead-movement data from the wearable computer and car-movement data fromthe sensor in the car, data comparisons may be made to determine thatthe car is moving.

FIG. 3A is a diagram 300 illustrating movement data, according to anexemplary embodiment. In particular, diagram 300 may be an illustrationof movement data corresponding to a sensor in the wearable computer. Forexample, the movement data may be obtained and/or provided from anaccelerometer indicative of a wearer running to catch a bus whilewearing the wearable computer. In particular, gravity axis 302 mayrepresent the force of gravity (G) in standard gravity units, thereforecentering much of the data around 1 G. Time axis 304 may represent timein seconds, showing approximately twelve seconds in FIG. 3A. FIG. 3Ashows that for approximately the first two seconds, the wearer took afew steps. Then, the wearer may have recognized that their bus that justarrived at a nearby stop. From approximately 2-8 seconds, FIG. 3A showslarge changes of gravity indicating the wearer may have been running tocatch the bus. After about 8 seconds, the changes in gravity diminish,perhaps indicating the wearer caught their bus

As illustrated, the wearer's acceleration upward along gravity axis 302represents the beginning of each stride made by the wearer. In suchinstances, the accelerometer detects a force in the opposite directiontowards the ground and provides data showing an increase in gravity(illustrated by points greater than 1 G). Oppositely, the accelerationdownward on gravity axis 302 represents ending of each stride. In suchinstances, the accelerometer detects a force in the opposite directiontowards the sky and provides data showing a decrease in gravity(illustrated by points less than 1 G). As such, the wearable computermay recognize a pattern in translational data from the accelerometer anddetermine that the wearer was running

FIG. 3B is a diagram 320 illustrating movement data, according to anexemplary embodiment. Diagram 320 may be the same illustration ofmovement data as provided in FIG. 3A. Further, the movement data mayalso be obtained and/or output from an accelerometer indicative of awearer running to catch a bus while wearing the wearable computer.Gravity axis 322 and time axis 324 may represent the same units asmentioned above for FIG. 3A. FIG. 3B shows recognized patterns in theaccelerometer data. In particular, a wearable computer or computingsystem may identify portion 332 of diagram 320 as a running pattern,possibly due to pre-recorded accelerometer data saved while modeling thewearer's running patterns.

In addition, the wearable computer may determine that the wearer hasentered the bus upon recognizing that the wearer has stopped running asshown in portion 334. Further, the wearable computer may use temperaturesensors, noise sensors, and/or GPS technology, amongst other possiblesensors to identify when the wearer enters the bus. The wearablecomputer may then possibly enter “bus travelling mode” and initiate ahead-movement interpretation scheme for adjusting a value forsensitivity parameters (e.g., adjusting sensitivity to a moderate valuewhile in bus travelling mode).

As indicated, the wearable computer may model typical movements of thewearer with various activities, such as a wearer's running pattern, forexample. In some instances, the wearable computer may use anaccelerometer to capture translational data and a gyroscope to obtainrotational data to intelligently model user activities. Further, in someinstances, such data may be stored as context signals. Additionally, insome instances, such data may be stored in a context-signal-to-activitydatabase such that such signals can be used to identify a correspondingactivity. For example, one or more context signals may be used to createa search string. In some instances, the search string may pinpoint aunique activity. For instance, the wearable computer may recognize thewearer's running pattern, the time of day, and the wearer's scheduleand/or the bus schedule, among other possibilities to determine that thewearer is running to catch a bus.

Further, the context-signal-to-activity database may be adaptive. Thewearable computer may continuously receive and store context signalssuch that the system can learn when the wearer is engaged in anactivity. For example, a wearer may manually indicate being involved inan activity based on certain context signals. After recording thecontext signals associated with manually indicating the activity, thewearable computer may begin receiving context signals and identifyingthe activity on its own.

In some embodiments, the wearable computer may initiate gesturerecognition to determine a wearer's activities. In some instances,continuous and/or discrete gesture detection may be recognized todetermine a user's activities. For example, the wearer may tap the sideof the wearable computer (using discrete gesture detection) such thatthe wearable computer may enter a “cab riding mode” and initiate anappropriate head-movement interpretation scheme as the user gets intothe cab. Yet, in some instance, the wearer may make a rotation gesture(as if they were dialing on a rotary phone) indicating to the wearablecomputer to call a cab service (i.e. continuous gesture detection).

Further, in some embodiments, the computer may recognize a plurality ofactivities that the wearer may be involved in. To illustrate, thewearable computer may receive data as shown in FIG. 3A, recognize agesture for the wearer waving down a cab, and identify that the weareris making a call. In such instances, the wearable computer may recognizethat the wearer has missed the bus and is now waving to catch a cabwhile talking on the phone. Further, in such instances, the wearablecomputer may wait to receive more context signals for identifying thewearer's activity before initiating a head-movement interpretationscheme. Yet, in some instances, the wearable computer may initiate astandard head-movement interpretation scheme or not initiate any schemeat all.

It should be understood that the above examples are provided forillustration. There may be other examples of context signals and/oractivities that are not described above, without departing from thescope of the embodiments herein.

iv. Determining a Head-Movement Interpretation Scheme

Block 106 of method 100, shown in FIG. 1, involves determining ahead-movement interpretation scheme corresponding to the first activity.In addition, block 108 of method 100 involves applying the determinedhead-movement interpretation scheme to determine input datacorresponding to the received head-movement data.

In some embodiments, a head-movement interpretation scheme may bedetermined based on one or more activities identified. In someinstances, one or more identified activities may be mapped to ahead-movement interpretation scheme, which may use anactivity-to-interpretation-scheme database. In some instances, theactivity-to-interpretation-scheme database may be incorporated with theaforementioned context-to-activity database. For example, one or moreactivities may be used to create a search string. In some instances,searching based on the search string may result in a uniquehead-movement interpretation scheme. In one example, the wearablecomputer and/or computing system may recognize two activities such thatthe wearer is running and talking on the phone at the same time. In suchinstances, the wearable computer and/or computing system may implementan appropriate head-movement interpretation scheme associated with bothactivities. As such, the wearable computer and/or computing system mayimplement the scheme with the lower level of sensitivity and thusinitiate the scheme associated with running.

Further, the activity-to-interpretation-scheme database may be adaptive.The wearable computer may continuously receive and store informationsuch that the system can learn when to initiate a head-movementinterpretation scheme. For example, a wearer may manually initiate ahead-movement interpretation scheme based on certain activities. Afterrecording the activities associated with manually changing theinterpretation scheme, the wearable computer may begin identifying suchactivities and initiating the scheme on its own.

In addition, in some embodiments, a head-movement interpretation schememay be determined from head-movement data received from one or moresensors associated with the wearable computer and/or computing system.As illustrated in FIGS. 3A and 3B, an exemplary embodiment may receivemovement data (e.g., translational movement data) from an accelerometerto identify an activity which may determine a head-movementinterpretation scheme.

In some embodiments, movement data may be received by a plurality ofsensors. FIG. 4A is a diagram 400 illustrating movement data, accordingto an exemplary embodiment. In some instances, FIG. 4A may berepresentative of head-movement data in a three dimensional space (x, y,z) provided by a gyroscope in the wearable computer. Magnitude axis 402may represent a magnitude of the head movement (e.g., an amount ofvelocity, angular velocity, and acceleration, among other possibilities)corresponding to the x, y, or z direction. In addition, time axis 410may represent time, perhaps in seconds, and may possibly indicate thesame approximate twelve-second time interval as provided in FIGS. 3A and3B. In some instances, movement data 404 may be movement data obtainedalong the x-axis, movement data 406 may be movement data obtained alongthe y-axis, and movement data 408 may be movement data along the z-axis.

In one example provided in FIG. 4A, a head-movement interpretationscheme may be determined for movement data 404, 406, and 408 along allaxes and for the duration shown by time axis 410. Yet, in someinstances, a head-movement interpretation scheme may be determined formovement data along a specific axis, such as movement data 404 along thex-axis. Yet further, a head-movement interpretation scheme may bedetermined for movement data along two axes, such as movement data 406along the x-axis and movement data 408 along the y-axis. Othercombinations and possibilities may also exist.

In some embodiments, a head-interpretation scheme may be determined formovement data in accordance with time. FIG. 4B is a diagram 420illustrating movement data, according to an exemplary embodiment. FIG.4B may be the same or similar representation of head-movement dataprovided in FIG. 4A so as to provide the data using a three dimensionalspace (x, y, z). Magnitude axis 422 may represent a magnitude of thehead movement (e.g., velocity, angular velocity, and acceleration, amongother possibilities) in the x, y, or z direction. In addition, time axis410 may provide for time, perhaps in seconds, and may possibly indicatethe same approximate twelve-second time interval in FIG. 4A. Asillustrated, movement data 424 may be movement data obtained along thex-axis, movement data 426 may be movement data obtained along they-axis, and movement data 428 may be movement data along the z-axis.

In some embodiments, a head-movement interpretation scheme may beinitiated based on an activity. For example, portion 432 of FIG. 4B maycorrespond to the same or approximately the same time interval asportion 332 in FIG. 3B. In addition, portion 434 may correspond to thesame or approximately the same time interval as portion 334 in FIG. 3B.As illustrated for FIG. 3B, the wearable computer may determine that thewearer is running during the time interval in portion 326. As such, ahead-movement interpretation scheme appropriate for running may bedetermined for head-movement data corresponding to portion 432 of FIG.4B. Yet further, in portion 434 of FIG. 4B, the wearable computer mayrecognize that the wearer is on the bus and may determine another(probably different) head-movement interpretation scheme appropriate foroperating the wearable computer while on the bus.

In some embodiments, a head-movement interpretation scheme may bedetermined for head-movement data within a range. FIG. 4C is a diagram440 illustrating movement data, according to an exemplary embodiment.FIG. 4C may be the same or similar representation of head-movement dataprovided in FIGS. 4A and 4B so as to provide the data using a threedimensional space (x, y, z). Magnitude axis 442 may represent amagnitude of head movement (e.g., velocity, angular velocity, andacceleration, among other possibilities) in the x, y, or z direction. Inaddition, time axis 450 may provide for time, perhaps in seconds, andmay possibly indicate the same approximate twelve-second time intervalin FIGS. 4A and 4B. As illustrated, movement data 444 may be movementdata obtained along the x-axis, movement data 446 may be movement dataobtained along the y-axis, and movement data 448 may be movement dataalong the z-axis.

Further, in some embodiments, a head-movement interpretation scheme maybe determined for data identified by one or more ranges. For example, inFIG. 4C, range 452 and range 454 may be set such that a firsthead-movement interpretation scheme is only applied to the data inbetween range 452 and 454, excluding portions 456, 458, and 460.Further, in some instances, a second (possibly different) head-movementinterpretation scheme may be applied to data outside and/or above range452, perhaps corresponding to portions 456 and 460. In addition, a thirdhead-movement interpretation scheme (possibly different than the firstand second head-movement interpretation schemes) may be applied to dataoutside and/or below range 454, perhaps corresponding to portion 458.Yet, in some instances, no head-movement interpretation schemes may beapplied at all for data identified by a particular range.

In some embodiments, a head-movement interpretation scheme may bedetermined for movement data within a data range and also in accordancewith time. FIG. 4D is a diagram 480 illustrating movement data,according to an exemplary embodiment. FIG. 4D may be the same or similarrepresentation of head-movement data provided in FIGS. 4A, 4B, and 4C soas to provide the data using a three dimensional space (x, y, z).Magnitude axis 482 may represent a magnitude of the head movement (e.g.,velocity, angular velocity, and acceleration, among other possibilities)in the x, y, or z direction. In addition, time axis 490 may provide fortime, perhaps in seconds, and may possibly indicate the same approximatetwelve-second time interval in FIGS. 4A, 4B, and 4C. As illustrated,movement data 484 may be movement data obtained along the x-axis,movement data 486 may be movement data obtained along the y-axis, andmovement data 488 may be movement data along the z-axis.

In some embodiments, a head-movement interpretation scheme may bedetermined for specific portions of data. For example, portion 492 ofFIG. 4D may correspond to the same or approximately the same timeinterval as portion 332 in FIG. 3B. In addition, portion 494 maycorrespond to the same or approximately the same time interval asportion 334 in FIG. 3B. As noted for FIG. 3B, the wearable computer maydetermine that the wearer is running during the time interval in portion332. Therefore, a first head-movement interpretation scheme may beapplied to portion 492 of FIG. 4D, but may exclude portion 496 possiblyas data corresponding to non-UI-targeted movements. Yet, in portion 494,the wearable computer may recognize that the wearer is on the bus andmay determine a second (probably different) head-movement interpretationscheme, excluding portion 498 possibly as data corresponding tonon-UI-targeted movements. In some instances, data in portions 496 and498 may be non-UI-targeted data used to further identify a currentactivity.

It should be understood that the above examples are provided forillustration. There may be other examples determining head-movementinterpretation schemes not described above, without departing from thescope of the embodiments herein.

v. Determining UI-Targeted Head Movements

As noted, a head-movement interpretation scheme may adjust to thespecific activity that the wearer may be engaged in. Further, thehead-movement interpretation scheme may be associated with sensitivityparameters of sensors used to distinguish between UI-targeted headmovements and non-UI-targeted head movements. Referring back to aprevious example, the head-movement interpretation scheme may controlone or more values representative of sensitivity parameters. Inpractice, a value indicative of high sensitivity (possibly a level tenin an exemplary scale from one to ten) may be used in activities wherethere are little to no non-UI-targeted movements, possibly in instanceswhere mostly all the movements are UI-targeted movements. Alternativelyor in opposite, a value indicative of low sensitivity (perhaps a levelone out of ten) may require head movements to be more recognizableand/or perhaps more exaggerated to be identified as UI-targetedmovements. In some instances, such values for low sensitivity mayrequire a slower head movement over a longer duration of time to beidentified as a UI-targeted head movement.

For example, referring to FIG. 2A, wearable computer 200 may receivemovement data associated with vertical movement 222 of head 202 to berecognized as a UI-targeted head movement. Given a value for highsensitivity, a partial rotation may responsively cause pointer 210 tomove on a vertical path 208 along the Y-axis shown in graphic display212. However, given a value for low sensitivity (possibly due to aparticular head-movement interpretation scheme) movement 222 maycorrespond to a full rotation of head 202 and/or a relatively slowmovement of head 222 to move pointer 210 vertically. Other possibilitiesmay also exist.

In some embodiments, the head-movement interpretation scheme maydetermine the amount of virtual movement on a graphic display. Further,in some embodiments, a parameter controlling the counts per inch (CPI)of head movements may be determined. A CPI parameter may determine thenumber of increments, distances, and/or degrees (e.g., angularmeasurements, azimuth, and altitude, among other possibilities), whichmay be referred to as “counts” that a head must move for the pointer tomove one inch on the graphic display. In some instances, a count may bea degree of movement in a three-dimensional space possibly measured byas azimuth or altitude in a horizontal coordinate system, among otherpossibilities. In some instances, the head-movement interpretationscheme may determine a value for the CPI parameter, perhaps by inverselyrelating the sensitivity and CPI parameters. For example, given a valuefor lowering sensitivity, the CPI parameter may be increased so as tolower the amount of pointer movement mapped to a given amount of headmovement. Oppositely, given a value for increasing sensitivity, the CPIparameter may be decreased to create a more pointer movement mapped to agiven amount of body movement.

In some embodiments, UI-targeted movements may be distinguished fromnon-UI-targeted movements. In addition, the non-UI-targeted datadistinguished may further be used to determine an activity. For example,referring to FIG. 4B, portion 432 may be data associated withnon-UI-targeted head movements, possibly due to the wearer runningduring this time. Further, portion 434 may be data associated withUI-targeted head movements, perhaps from the wearer making headmovements to control content on the wearable computer. In FIG. 4C, thehead-movement data between range 452 and 454 may be data associated withUI-targeted head movements. Further, other data outside of range 452 and454 such as portions 456, 458, and 460 may correspond to non-UI-targetedhead movements. In addition, in FIG. 4D, head-movement data in portion472 may be associated with non-UI-targeted movements whereashead-movement data in portion 494 may be associated with UI-targetedmovements, however, data in portions 496 and 498 may correspond tonon-UI-targeted head movements.

In some embodiments, UI-targeted movement data may be compared withnon-UI-targeted movement data. Further, in some instances, datainitially characterized as non-UI-targeted data may be analyzed andassociated with UI-targeted movement data. For example, as indicated inFIG. 4C, portions 456, 458, and 460 may initially be characterized asnon-UI-targeted movement data, possibly according to a head-movementinterpretation scheme. In some instances, areas may be defined byborders of portions 456, 458, and 460 and a sum of these areas may beobtained representative of non-UI-targeted movements. Further, in someinstances, a sum of areas under movement data and within the borders ofportions 456, 458, and 460 may be obtained representative ofnon-UI-targeted movements. In addition, the sum of areas under movementdata may be obtained for UI-targeted movement data as defined betweenrange 452 and 454. Therefore, a sum of areas representative ofnon-UI-targeted movement data may be compared with a sum of areascorresponding to UI-targeted movement data, perhaps indicating a largersum of non-UI-targeted movement data. In such instances, areascorresponding to non-UI-targeted movement data may be converted andassociated with UI-targeted movement data. In some instances, adifferent head-movement interpretation scheme may be determined,possibly as illustrated in FIG. 4D. Other possibilities may also exist.

Further, in some embodiments, one or more filters may be applied tohead-movement data. Additionally, in some instances, a filter may beused to determine UI-targeted head movements. Referring back to FIG.4A-D, in some instances, a filter scheme (band-pass filters, low-passfilters, and high-pass filters, among other possible filters) may beapplied to determine UI-targeted head movements. In some instances, afilter may be applied to distinguish UI-targeted head movement data fromnon-UI-targeted head movement data. For example, one or more filters maybe applied to movement data in FIG. 4C to associate movement data inportions 456, 458, and 460 with non-UI-targeted movement data. Further,in some instances, filter may be applied to UI-targeted movement datathat may already be identified as UI-targeted movement data. Otherpossibilities may also exist.

In some embodiments, a head-movement interpretation scheme may provide afirst value to map a given amount of head-movement data to UI-targetedhead movements. However, upon recognizing an activity, the first valuemay be adjusted to a different value (perhaps a second value), causingthe mapping between the head-movement to UI-targeted data to bemodified. In such instances, the modified mapping may determine thehead-movement interpretation scheme. For example, considering FIG. 2A,the wearer may be walking to their office and a first value may set theCPI parameter to a level five to move pointer 210 (e.g., five counts perinch) on graphic display 212. Upon recognizing that the wearer hasentered the office and has sat down at their desk, the first value oflevel five may be adjusted to a level one to increase sensitivity tohead movements and move pointer 210 based on the CPI parameter of onecount per inch. In some instances, this CPI parameter may facilitatedetermining a head-movement interpretation scheme associated with anoffice environment.

Further, in some embodiments, a head-movement interpretation scheme mayprovide a first value to map a given amount of head-movement data tonon-UI-targeted head movements. Yet, upon recognizing an activity, thefirst value may be adjusted to a different value (perhaps a thirdvalue), causing the mapping between the head-movement data tonon-UI-targeted data to be modified. In such instances, the modifiedmapping may provide for non-UI-targeted data that may be used as contextsignals to determine further activities of the wearer such as a secondactivity. Considering the example above, the wearer may be walking totheir office and a first value may set the CPI parameter to a level fiveto move pointer 210 (e.g., five counts per inch) on graphic display 212.Upon recognizing that the wearer has entered the office and has sat downat their desk, the first value of level five may be adjusted to a levelone to increase sensitivity to head movements and move pointer 210 basedon the CPI parameter of one count per inch. In some instances, this CPIparameter may map further head-movement data to non-UI-targetedmovements to determine a second activity, perhaps when the wearer startstalking and a head-movement interpretation scheme associated withtalking is initiated.

It should be understood that the above examples are provided forillustration. There may be other examples of determining UI-TargetedHead Movements that are not described above, without departing from thescope of the embodiments herein.

Referring back to FIG. 1, block 110 of method 100 involves providing thedetermined input data for at least one function of the head-mountabledisplay. In some embodiments, the input data may provide an instruction,such as a UI command, to carry out a function of the head-mountabledisplay. For example, input data may specify an amount of virtualmovement to be shown on content provided in a graphic display.

In addition, in some embodiments, the wearable computer may recognizeUI-targeted head movements that correspond to the amount of virtualmovement and provide instructions accordingly. Further, in someinstances, the amount of virtual movement may be visually represented ona graphic display, such as graphic display 212 in FIGS. 2A-D. Further,in some embodiments, the amount of virtual movement may correspond tothe movement of a pointer, such as pointer 210. In some instances, thevirtual movement may be with respect to a graphic object, such asgraphic object 214. Further, in some instances, the virtual movement mayinclude panning, browsing, paginating, and/or scrolling content in thegraphic display, among other possibilities.

It should be understood that the above examples are provided forillustration. There may be other examples of providing input data thatare not described above, without departing from the scope of theembodiments herein.

C. Example System and Device Architecture

FIG. 5A is a diagram illustrating a first example system for receiving,transmitting, and displaying data, according to an exemplary embodiment.The system 500 is shown in the form of a wearable computing device.While FIG. 5A illustrates a head-mounted device 502 as an example of awearable computing system, other types of wearable computing devicescould additionally or alternatively be used. As illustrated in FIG. 5A,the head-mounted device 502 has frame elements including lens-frames504, 506 and a center frame support 508, lens elements 510, 512, andextending side-arms 514, 516. The center frame support 508 and theextending side-arms 514, 516 are configured to secure the head-mounteddevice 502 to a user's face via a user's nose and ears, respectively.

Each of the frame elements 504, 506, and 508 and the extending side-arms514, 516 may be formed of a solid structure of plastic and/or metal, ormay be formed of a hollow structure of similar material so as to allowwiring and component interconnects to be internally routed through thehead-mounted device 502. Other materials may be possible as well.

One or more of each of the lens elements 510, 512 may be formed of anymaterial that can suitably display a projected image or graphic. Each ofthe lens elements 510, 512 may also be sufficiently transparent to allowa user to see through the lens element. Combining these two features ofthe lens elements may facilitate an augmented reality or heads-updisplay where the projected image or graphic is superimposed over areal-world view as perceived by the user through the lens elements 510,512.

The extending side-arms 514, 516 may each be projections that extendaway from the lens-frames 504, 506, respectively, and may be positionedbehind a user's ears to secure the head-mounted device 502 to the user.The extending side-arms 514, 516 may further secure the head-mounteddevice 502 to the user by extending around a rear portion of the user'shead. Additionally or alternatively, for example, the system 500 mayconnect to or be affixed within a head-mounted helmet structure. Otherpossibilities exist as well.

The system 500 may also include an on-board computing system 518, avideo camera 520, a sensor 522, and a finger-operable touch pad 524. Theon-board computing system 518 is shown to be positioned on the extendingside-arm 514 of the head-mounted device 502; however, the on-boardcomputing system 518 may be provided on other parts of the head-mounteddevice 502 or may be positioned remote from the head-mounted device 502(e.g., the on-board computing system 518 could be connected by wires orwirelessly connected to the head-mounted device 502). The on-boardcomputing system 518 may include a processor and memory, for example.The on-board computing system 518 may be configured to receive andanalyze data from the video camera 520, the sensor 522, and thefinger-operable touch pad 524 (and possibly from other sensory devices,user-interfaces, or both) and generate images for output by the lenselements 510 and 512. The on-board computing system 518 may additionallyinclude a speaker or a microphone for user input (not shown). An examplecomputing system is further described below in connection with FIG. 8.

The video camera 520 is shown positioned on the extending side-arm 514of the head-mounted device 502; however, the video camera 520 may beprovided on other parts of the head-mounted device 502. The video camera520 may be configured to capture images at various resolutions or atdifferent frame rates. Video cameras with a small form-factor, such asthose used in cell phones or webcams, for example, may be incorporatedinto an example embodiment of the system 500.

Further, although FIG. 5A illustrates one video camera 520, more videocameras may be used, and each may be configured to capture the sameview, or to capture different views. For example, the video camera 520may be forward facing to capture at least a portion of the real-worldview perceived by the user. This forward facing image captured by thevideo camera 520 may then be used to generate an augmented reality wherecomputer generated images appear to interact with the real-world viewperceived by the user.

The sensor 522 is shown on the extending side-arm 516 of thehead-mounted device 502; however, the sensor 522 may be positioned onother parts of the head-mounted device 502. The sensor 522 may includeone or more of a gyroscope or an accelerometer, for example. Othersensing devices may be included within, or in addition to, the sensor522 or other sensing functions may be performed by the sensor 522.

The finger-operable touch pad 524 is shown on the extending side-arm 514of the head-mounted device 502. However, the finger-operable touch pad524 may be positioned on other parts of the head-mounted device 502.Also, more than one finger-operable touch pad may be present on thehead-mounted device 502. The finger-operable touch pad 524 may be usedby a user to input commands. The finger-operable touch pad 524 may senseat least one of a position and a movement of a finger via capacitivesensing, resistance sensing, or a surface acoustic wave process, amongother possibilities. The finger-operable touch pad 524 may be capable ofsensing finger movement in a direction parallel or planar to the padsurface, in a direction normal to the pad surface, or both, and may alsobe capable of sensing a level of pressure applied to the pad surface.The finger-operable touch pad 524 may be formed of one or moretranslucent or transparent insulating layers and one or more translucentor transparent conducting layers. Edges of the finger-operable touch pad524 may be formed to have a raised, indented, or roughened surface, soas to provide tactile feedback to a user when the user's finger reachesthe edge, or other area, of the finger-operable touch pad 524. If morethan one finger-operable touch pad is present, each finger-operabletouch pad may be operated independently, and may provide a differentfunction.

FIG. 5B is a diagram illustrating an alternate view of the systemillustrated in FIG. 5A, according to an exemplary embodiment. As shownin FIG. 5B, the lens elements 510, 512 may act as display elements. Thehead-mounted device 502 may include a first projector 528 coupled to aninside surface of the extending side-arm 516 and configured to project adisplay 530 onto an inside surface of the lens element 512. Additionallyor alternatively, a second projector 532 may be coupled to an insidesurface of the extending side-arm 514 and configured to project adisplay 534 onto an inside surface of the lens element 510.

The lens elements 510, 512 may act as a combiner in a light projectionsystem and may include a coating that reflects the light projected ontothem from the projectors 528, 532. In some embodiments, a reflectivecoating may be omitted (e.g., when the projectors 528, 532 are scanninglaser devices).

In alternative embodiments, other types of display elements may also beused. For example, the lens elements 510, 512 themselves may include: atransparent or semi-transparent matrix display, such as anelectroluminescent display or a liquid crystal display, one or morewaveguides for delivering an image to the user's eyes, or other opticalelements capable of delivering an in focus near-to-eye image to theuser. A corresponding display driver may be disposed within the frameelements 504, 506 for driving such a matrix display. Alternatively oradditionally, a laser or light emitting diode (LED) source and scanningsystem could be used to draw a raster display directly onto the retinaof one or more of the user's eyes. Other possibilities exist as well.

FIG. 6A is a diagram illustrating a second example system for receiving,transmitting, and displaying data, according to an exemplary embodiment.The system 600 is shown in the form of a wearable computing device 602.The wearable computing device 602 may include frame elements andside-arms such as those described with respect to FIGS. 5A and 5B. Thewearable computing device 602 may additionally include an on-boardcomputing system 604 and a video camera 606, such as those describedwith respect to FIGS. 5A and 5B. The video camera 606 is shown mountedon a frame of the wearable computing device 602; however, the videocamera 606 may be mounted at other positions as well.

As shown in FIG. 6A, the wearable computing device 602 may include asingle display 608 which may be coupled to the device. The display 608may be formed on one of the lens elements of the wearable computingdevice 602, such as a lens element described with respect to FIGS. 5Aand 5B, and may be configured to overlay computer-generated graphics inthe user's view of the physical world. The display 608 is shown to beprovided in a center of a lens of the wearable computing device 602;however, the display 608 may be provided in other positions. The display608 is controllable via the computing system 604 that is coupled to thedisplay 608 via an optical waveguide 610.

FIG. 6B is a diagram illustrating a third example system for receiving,transmitting, and displaying data, according to an exemplary embodiment.The system 620 is shown in the form of a wearable computing device 622.The wearable computing device 622 may include side-arms 623, a centerframe support 624, and a bridge portion with nosepiece 625. In theexample shown in FIG. 6B, the center frame support 624 connects theside-arms 623. The wearable computing device 622 does not includelens-frames containing lens elements. The wearable computing device 622may additionally include an on-board computing system 626 and a videocamera 628, such as those described with respect to FIGS. 5A and 5B.

The wearable computing device 622 may include a single lens element 630that may be coupled to one of the side-arms 623 or the center framesupport 624. The lens element 630 may include a display such as thedisplay described with reference to FIGS. 5A and 5B, and may beconfigured to overlay computer-generated graphics upon the user's viewof the physical world. In one example, the single lens element 630 maybe coupled to a side of the extending side-arm 623. The single lenselement 630 may be positioned in front of or proximate to a user's eyewhen the wearable computing device 622 is worn by a user. For example,the single lens element 630 may be positioned below the center framesupport 624, as shown in FIG. 6B.

FIG. 7 is a simplified block diagram illustrating an example computernetwork infrastructure, according to an exemplary embodiment. In system700, a device 710 communicates using a communication link 720 (e.g., awired or wireless connection) to a remote device 730. The device 710 maybe any type of device that can receive data and display informationcorresponding to or associated with the data. For example, the device710 may be a heads-up display system, such as the head-mounted device502, 600, or 620 described with reference to FIGS. 5A-6B.

Thus, the device 710 may include a display system 712 comprising aprocessor 714 and a display 716. The display 716 may be, for example, anoptical see-through display, an optical see-around display, or a videosee-through display. The processor 714 may receive data from the remotedevice 730, and configure the data for display on the display 716. Theprocessor 714 may be any type of processor, such as a micro-processor ora digital signal processor, for example.

The device 710 may further include on-board data storage, such as memory718 coupled to the processor 714. The memory 718 may store software thatcan be accessed and executed by the processor 714, for example.

The remote device 730 may be any type of computing system or transmitterincluding a laptop computer, a mobile telephone, or tablet computingsystem, etc., that is configured to transmit data to the device 710. Theremote device 730 and the device 710 may contain hardware to enable thecommunication link 720, such as processors, transmitters, receivers,antennas, etc.

In FIG. 7, the communication link 720 is illustrated as a wirelessconnection; however, wired connections may also be used. For example,the communication link 720 may be a wired serial bus such as a universalserial bus or a parallel bus, among other connections. The communicationlink 720 may also be a wireless connection using, e.g., Bluetooth® radiotechnology, communication protocols described in IEEE 802.11 (includingany IEEE 802.11 revisions), Cellular technology (such as GSM, CDMA,UMTS, EV-DO, WiMAX, or LTE), and/or Zigbee, among other possibilities.Either of such a wired and/or wireless connection may be a proprietaryconnection as well. The remote device 730 may be accessible via theInternet and may include a computing cluster associated with aparticular web service (e.g., social-networking, photo sharing, addressbook, etc.).

As described above in connection with FIGS. 5A-6B, an example wearablecomputing system may include, or may otherwise be communicativelycoupled to, a computing system, such as computing system 518 orcomputing system 604. FIG. 8 is a simplified block diagram illustratingexample components of an example computing system, according to anexemplary embodiment. One or both of the device 710 and the remotedevice 730 may take the form of computing system 800.

Computing system 800 may include at least one processor 802 and systemmemory 804. In an example embodiment, computing system 800 may include asystem bus 806 that communicatively connects processor 802 and systemmemory 804, as well as other components of computing system 800.Depending on the desired configuration, processor 802 can be any type ofprocessor including, but not limited to, a microprocessor (μP), amicrocontroller (μC), a digital signal processor (DSP), or anycombination thereof. Furthermore, system memory 804 can be of any typeof memory now known or later developed including but not limited tovolatile memory (such as RAM), non-volatile memory (such as ROM, flashmemory, etc.) or any combination thereof.

An example computing system 800 may include various other components aswell. For example, computing system 800 includes an A/V processing unit808 for controlling graphical display 810 and speaker 812 (via A/V port814), one or more communication interfaces 816 for connecting to othercomputing systems 818, and a power supply 820. Graphical display 810 maybe arranged to provide a visual depiction of various input regionsprovided by user-interface module 822. For example, user-interfacemodule 822 may be configured to provide a user-interface, such as theexample user-interface described below in connection with other FIGS.9A-D below and graphical display 810 may be configured to provide avisual depiction of the user-interface.

FIG. 9A is a diagram illustrating aspects of an example user-interface,according to an exemplary embodiment. FIG. 9B is a diagram illustratingaspects of an example user-interface after receiving movement datacorresponding to an upward movement, according to an exemplaryembodiment. FIG. 9C is a diagram illustrating aspects of an exampleuser-interface after selection of a selected content object, accordingto an exemplary embodiment. FIG. 9D is a diagram illustrating aspects ofan example user-interface after receiving input data corresponding to auser input, according to an exemplary embodiment.

User-interface module 822 may be further configured to receive data fromand transmit data to (or be otherwise compatible with) one or moreuser-interface devices 828.

Furthermore, computing system 800 may also include one or more datastorage devices 824, which can be removable storage devices,non-removable storage devices, or a combination thereof. Examples ofremovable storage devices and non-removable storage devices includemagnetic disk devices such as flexible disk drives and hard-disk drives(HDD), optical disk drives such as compact disk (CD) drives or digitalversatile disk (DVD) drives, solid state drives (SSD), and/or any otherstorage device now known or later developed. Computer storage media caninclude volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information, suchas computer readable instructions, data structures, program modules, orother data. For example, computer storage media may take the form ofRAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM,digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium now known or later developed thatcan be used to store the desired information and which can be accessedby computing system 800.

According to an example embodiment, computing system 800 may includeprogram instructions 826 that are stored in system memory 804 (and/orpossibly in another data-storage medium) and executable by processor 802to facilitate the various functions described herein including, but notlimited to, those functions described with respect to method 100.Although various components of computing system 800 are shown asdistributed components, it should be understood that any of suchcomponents may be physically integrated and/or distributed according tothe desired configuration of the computing system.

E. Example User-Interface

FIGS. 9A-D show aspects of an example user-interface 900. Theuser-interface 900 may be displayed by, for example, a wearablecomputing device as described above for FIGS. 5A-6B and/or a computingsystem.

An example state of the user-interface 900 is shown in FIG. 9A, when thewearable computing device is in a first position. In some embodiments,the first position of the wearable computing device may correspond to aposition of the wearable computing device when a wearer of the wearablecomputing device is looking in a direction that is generally parallel tothe ground (e.g., not looking up or down). Other examples are possibleas well.

As shown, the user-interface 900 includes a view region 902. An exampleboundary of the view region 902 is shown by a dotted frame. FIG. 9Ashows view region 902 with a landscape orientation in which the viewregion 902 is wider than it is tall. In other embodiments the viewregion 902 may have a portrait orientation, in which view region 902 istaller than wide. View region 902 may have a rectangular shape, as shownin FIG. 9A, a square shape, or another shape, such as a circular orelliptical shape.

The view region 902 may be, for example, the viewable area between (orencompassing) the upper, lower, left, and right boundaries of a displayon the wearable computing device. As shown, when the wearable computingdevice is in the first position, the view region 902 is substantiallyempty (e.g., completely empty) of user-interface elements, such that theuser's view of their real-world environment is generally uncluttered,and objects in the user's environment are not obscured.

In some embodiments, the view region 902 may correspond to a field ofview of a wearer of the wearable computing device, and an area outsidethe view region 902 may correspond to an area outside the field of viewof the wearer. In other embodiments, the view region 902 may correspondto a non-diagonal portion of a field of view of a wearer of the wearablecomputing device, and an area outside the view region 902 may correspondto a diagonal portion of the field of view of the wearer. In still otherembodiments, the user-interface 900 may be larger than or substantiallythe same as a field of view of a wearer of the wearable computingdevice, and the field of view of the wearer may be larger than orsubstantially the same size as the view region 902. The view region 902may take other forms as well.

Accordingly, the portions of the user-interface 900 outside of the viewregion 902 may be outside of or in a diagonal portion of a field of viewof a wearer of the wearable computing device. For example, as shown, amenu 904 may be outside of or in a diagonal portion of the field of viewof the user in the user-interface 900. While the menu 904 is shown to benot visible in the view region 902, in some embodiments the menu 904 maybe partially visible in the view region 902.

In some embodiments, the wearable computing device may be configured toreceive UI-targeted movement data corresponding to, for example, anupward movement of the wearable computing device to a position above thefirst position. In these embodiments, the wearable computing device may,in response to receiving the movement data corresponding to the upwardmovement, cause one or both of the view region 902 and the menu 904 tomove such that the menu 904 becomes more visible in the view region 902.For example, the wearable computing device may cause the view region 902to move upward and may cause the menu 904 to move downward. The viewregion 902 and the menu 904 may move the same amount, or may movedifferent amounts. In one embodiment, the menu 904 may move further thanthe view region 902. As another example, the wearable computing devicemay cause only the menu 904 to move. Other examples are possible aswell.

While the term “upward” is used, it is to be understood that the upwardmovement may encompass any movement having any combination of moving,tilting, rotating, shifting, sliding, or other movement that results ina generally upward movement. Further, in some embodiments “upward” mayrefer to an upward movement in the reference frame of a wearer of thewearable computing device. Other reference frames are possible as well.In embodiments where the wearable computing device is a head-mounteddevice, the upward movement of the wearable computing device may also bean upward movement of a wearer's head such as, for example, the userlooking upward.

The movement data corresponding to the upward movement may take severalforms. For example, the movement data may be (or may be derived from)data received from one or more movement sensors, accelerometers, and/orgyroscopes configured to detect the upward movement, such as the sensor922 described above in connection with FIG. 9A. In some embodiments, themovement data may comprise a binary indication corresponding to theupward movement. In other embodiments, the movement data may comprise anindication corresponding to the upward movement as well as an extent ofthe upward movement. The movement data may take other forms as well.

FIG. 9B shows aspects of an example user-interface after receivingmovement data corresponding to an upward movement. As shown, theuser-interface 900 includes the view region 902 and the menu 904.

As noted above, in response to receiving the movement data correspondingto an upward movement of the wearable computing device, the wearablecomputing device may move one or both of the view region 902 and themenu 904 such that the menu 904 becomes more visible in the view region902.

As shown, the menu 904 is fully visible in the view region 902. In otherembodiments, however, only a portion of the menu 904 may be visible inthe view region 902. In some embodiments, the extent to which the menu904 is visible in the view region 902 may be based at least in part onan extent of the upward movement.

Thus, the view region 902 may be moved in response to receiving datacorresponding to an upward movement. In some embodiments, the viewregion 902 may be moved in an upward scrolling or panning motion. Forinstance, the view region 902 may appear to a wearer of the wearablecomputing device as if mapped onto the inside of a static spherecentered at the wearable computing device, and movement of the viewregion 902 may map onto movement of the real-world environment relativeto the wearable computing device. A speed, acceleration, and/ormagnitude of the upward scrolling may be based at least in part on aspeed, acceleration, and/or magnitude of the upward movement. In otherembodiments, the view region 902 may be moved by, for example, jumpingbetween fields of view. In still other embodiments, the view region 902may be moved only when the upward movement exceeds a threshold speed,acceleration, and/or magnitude. In response to receiving datacorresponding to an upward movement that exceeds such a threshold orthresholds, the view region 902 may pan, scroll, slide, or jump to a newfield of view. The view region 902 may be moved in other manners aswell.

While the foregoing description focused on upward movement, it is to beunderstood that the wearable computing device could be configured toreceive data corresponding to other directional movement (e.g.,downward, leftward, rightward, etc.) as well, and that the view region902 may be moved in response to receiving such data in a manner similarto that described above in connection with upward movement.

As shown, the menu 904 includes a number of content objects 906. In someembodiments, the content objects 906 may be arranged in a ring (orpartial ring) around and above the head of a wearer of the wearablecomputing device. In other embodiments, the content objects 906 may bearranged in a dome-shape above the wearer's head. The ring or dome maybe centered above the wearable computing device and/or the wearer'shead. In other embodiments, the content objects 906 may be arranged inother ways as well.

The number of content objects 906 in the menu 904 may be fixed or may bevariable. In embodiments where the number is variable, the contentobjects 906 may vary in size according to the number of content objects906 in the menu 904. In embodiments where the content objects 906 extendcircularly around a wearer's head, like a ring (or partial ring), onlysome of the content objects 906 may be visible at a particular moment.In order to view other content objects 904, a wearer of the wearablecomputing device may interact with the wearable computing device to, forexample, rotate the content objects 906 along a path (e.g., clockwise orcounterclockwise) around the wearer's head. To this end, the wearablecomputing device may be configured to receive data indicating such aninteraction through, for example, a touch pad, such as finger-operabletouch pad 924. Alternatively or additionally, the wearable computingdevice may be configured to receive such data through other inputdevices as well.

Depending on the application of the wearable computing device, thecontent objects 906 may take several forms. For example, the contentobjects 906 may include one or more of people, contacts, groups ofpeople and/or contacts, calendar items, lists, notifications, alarms,reminders, status updates, incoming messages, recorded media, audiorecordings, video recordings, photographs, digital collages,previously-saved states, webpages, and applications, as well as tools,such as a still camera, a video camera, and an audio recorder. Contentobjects 906 may take other forms as well.

In embodiments where the content objects 906 include tools, the toolsmay be located in a particular region of the menu 904, such as thecenter. In some embodiments, the tools may remain in the center of themenu 904, even if the other content objects 906 rotate, as describedabove. Tool content objects may be located in other regions of the menu904 as well.

The particular content objects 906 that are included in menu 904 may befixed or variable. For example, the content objects 906 may bepreselected by a wearer of the wearable computing device. In anotherembodiment, the content objects 906 for each content region may beautomatically assembled by the wearable computing device from one ormore physical or digital contexts including, for example, people,places, and/or objects surrounding the wearable computing device,address books, calendars, social-networking web services orapplications, photo sharing web services or applications, searchhistories, and/or other contexts. Further, some content objects 906 mayfixed, while the content objects 906 may be variable. The contentobjects 906 may be selected in other manners as well.

Similarly, an order or configuration in which the content objects 906are displayed may be fixed or variable. In one embodiment, the contentobjects 906 may be pre-ordered by a wearer of the wearable computingdevice. In another embodiment, the content objects 906 may beautomatically ordered based on, for example, how often each contentobject 906 is used (on the wearable computing device only or in othercontexts as well), how recently each content object 906 was used (on thewearable computing device only or in other contexts as well), anexplicit or implicit importance or priority ranking of the contentobjects 906, and/or other criteria.

In some embodiments, the wearable computing device may be furtherconfigured to receive from the wearer a selection of a content object906 from the menu 904. To this end, the user-interface 900 may include acursor 908, shown in FIG. 9B as a reticle, which may be used to navigateto and select content objects 906 from the menu 904. In someembodiments, the cursor 908 may be controlled by a wearer of thewearable computing device through one or more predetermined movements.Accordingly, the wearable computing device may be further configured toreceive selection data corresponding to the one or more predeterminedmovements.

The selection data may take several forms. For example, the selectiondata may be (or may be derived from) data received from one or moremovement sensors, accelerometers, gyroscopes, and/or detectorsconfigured to detect the one or more predetermined movements. The one ormore movement sensors may be included in the wearable computing device,like the sensor 922, or may be included in a diagonal devicecommunicatively coupled to the wearable computing device. As anotherexample, the selection data may be (or may be derived from) datareceived from a touch pad, such as the finger-operable touch pad 924described above in connection with FIG. 9A, or other input deviceincluded in or coupled to the wearable computing device and configuredto detect one or more predetermined movements. In some embodiments, theselection data may take the form of a binary indication corresponding tothe predetermined movement. In other embodiments, the selection data mayindicate the extent, the direction, the velocity, and/or theacceleration associated with the predetermined movement. The selectiondata may take other forms as well.

The predetermined movements may take several forms. In some embodiments,the predetermined movements may be certain movements or sequence ofmovements of the wearable computing device or diagonal device. In someembodiments, the predetermined movements may include one or morepredetermined movements defined as no or substantially no movement, suchas no or substantially no movement for a predetermined period of time.In embodiments where the wearable computing device is a head-mounteddevice, one or more predetermined movements may involve a predeterminedmovement of the wearer's head (which is assumed to move the wearablecomputing device in a corresponding manner).

Alternatively or additionally, the predetermined movements may involve apredetermined movement of a diagonal device communicatively coupled tothe wearable computing device. The diagonal device may similarly bewearable by a wearer of the wearable computing device, such that themovement of the diagonal device may follow a movement of the wearer,such as, for example, a movement of the wearer's hand. Stillalternatively or additionally, one or more predetermined movements maybe, for example, a movement across a finger-operable touch pad or otherinput device. Other predetermined movements are possible as well.

As shown, a wearer of the wearable computing device has navigated thecursor 908 to the content object 906 using one or more predeterminedmovements. In order to select the content object 906, the wearer mayperform an additional predetermined movement, such as holding the cursor908 over the content object 906 for a predetermined period of time. Thewearer may select the content object 906 in other manners as well.

Once a content object 906 is selected, the wearable computing device maycause the content object 906 to be displayed in the view region 902 as aselected content object. FIG. 9C shows aspects of an exampleuser-interface after selection of a selected content object, inaccordance with an embodiment.

As indicated by the dotted arrow, the content object 906 is displayed inthe view region 902 as a selected content object 910. As shown, theselected content object 910 is displayed larger and in more detail inthe view region 902 than in the menu 904. In other embodiments, however,the selected content object 910 could be displayed in the view region902 smaller than or the same size as, and in less detail than or thesame detail as, the menu 904. In some embodiments, additional content(e.g., actions to be applied to, with, or based on the selected contentobject 910, information related to the selected content object 910,and/or modifiable options, preferences, or parameters for the selectedcontent object 910, etc.) may be showed adjacent to or nearby theselected content object 910 in the view region 902.

Once the selected content object 910 is displayed in the view region902, a wearer of the wearable computing device may interact with theselected content object 910. For example, as the selected content object910 is shown as an email inbox, the wearer may wish to read one of theemails in the email inbox. Depending on the selected content object, thewearer may interact with the selected content object in other ways aswell (e.g., the wearer may locate additional information related to theselected content object 910, modify, augment, and/or delete the selectedcontent object 910, etc.). To this end, the wearable computing devicemay be further configured to receive input data corresponding to one ormore predetermined movements indicating interactions with theuser-interface 900. The input data may take any of the forms describedabove in connection with the selection data.

FIG. 9D shows aspects of an example user-interface after receiving inputdata corresponding to a user input, in accordance with an embodiment. Asshown, a wearer of the wearable computing device has navigated thecursor 908 to a particular subject line in the email inbox and selectedthe subject line. As a result, the email 912 is displayed in the viewregion, so that the wearer may read the email 912. The wearer mayinteract with the user-interface 900 in other manners as well, dependingon, for example, the selected content object.

The present disclosure is not to be limited in terms of the particularembodiments described in this application, which are intended asillustrations of various aspects. Many modifications and variations canbe made without departing from its spirit and scope, as will be apparentto those skilled in the art. Functionally equivalent methods andapparatuses within the scope of the disclosure, in addition to thoseenumerated herein, will be apparent to those skilled in the art from theforegoing descriptions. Such modifications and variations are intendedto fall within the scope of the appended claims.

We claim:
 1. A computer-implemented method, comprising: at a computing system associated with a head-mountable display, receiving head-movement data indicative of head movement; determining that at least a portion of the head-movement data corresponds to non-UI-targeted head movements, wherein one or more sensitivity parameters are used to distinguish between UI-targeted head movements and the non-UI-targeted head movements; using (1) one or more context signals and (2) at least the portion of the head-movement data corresponding to the non-UI-targeted head movements to determine a first activity associated with the head-mountable display; determining a head-movement interpretation scheme corresponding to the first activity, wherein determining the head-movement interpretation scheme comprises determining a first value for at least one sensitivity parameter used to distinguish between the UI-targeted head movements and the non-UI-targeted head movements; applying the determined head-movement interpretation scheme to determine the received head-movement data corresponds to one or more UI commands; and providing the one or more UI commands for at least one function of the head-mountable display; wherein the first value for the at least one sensitivity parameter maps a given amount of received head-movement data to the non-UI-targeted head movements, and wherein determining the head-movement interpretation scheme based on the first activity comprises: adjusting the first value to a different value for the at least one sensitivity parameter corresponding to the first activity; based on the different value, modifying the given amount of head-movement data mapped to the non-UI-targeted head movements; and determining a second activity using the modified head-movement data mapped to the non-UI-targeted head movements.
 2. The method of claim 1, wherein the first value for the at least one sensitivity parameter is used to adjust one or more sensors, and wherein the one or more sensors provide at least one context signal to determine a second activity associated with the head-mountable device.
 3. The method of claim 2, wherein using the one or more context signals to determine the second activity associated with the head-mountable device comprises: obtaining translational and rotational data; and using the translational and rotational data to determine the second activity associated with the head-mountable device.
 4. The method of claim 1, wherein the one or more context signals are based on the head-movement data.
 5. The method of claim 1, wherein the first value for the at least one sensitivity parameter maps a given amount of the received head-movement data to the UI-targeted head movements, and wherein determining the head-movement interpretation scheme based on the first activity comprises: adjusting the first value to a second value for the at least one sensitivity parameter corresponding to the first activity; based on the second value, modifying the given amount of head-movement data mapped to the UI-targeted head movements; and determining the head-movement interpretation scheme using the modified head-movement data mapped to the UI-targeted head movements.
 6. The method of claim 1, wherein determining the head-movement interpretation scheme that corresponds to the first activity comprises: determining an amount of virtual movement that corresponds to a particular amount of head movement; and providing a visual representation of the amount of virtual movement.
 7. The method of claim 1, wherein the one or more context signals comprise one or more of: (a) a current time, (b) a current date, (c) a current day of the week, (d) a current month, (e) a current season, (f) a time of a future event or future context, (g) a date of a future event or future context, (h) a day of the week of a future event or future context, (i) a month of a future event or future user-context, (j) a season of a future event or future context, (k) a time of a past event or past context, (l) a date of a past event or past context, (m) a day of the week of a past event or past context, (n) a month of a past event or past context, (o) a season of a past event or past context, (p) ambient temperature, (q) a current, future, or past weather forecast at a current location, (r) a current, future, or past weather forecast at a location of a planned event, (s) a current, future, or past weather forecast at or near a location of a previous event, (t) information on a calendar associated with a user-profile, (u) information accessible via a user's social networking account, (v) noise level or any recognizable sounds detected by a device, (w) devices that are currently available to the head-mountable device, (x) devices in proximity to the head-mountable device, (y) devices that are able to communicate with the head-mountable device, (z) information derived from cross-referencing any two or more of: information on the user's calendar, information available via the user's social networking account, and/or other context signals or sources of context information, (aa) health statistics or characterizations of the user's current health, (bb) a user's recent context as determined from sensors on or near the user and/or other sources of context information, (cc) a current location, (dd) a past location, and (ee) a future location.
 8. The method of claim 1, wherein determining the head-movement interpretation scheme that corresponds to the first activity comprises: mapping the first activity to a corresponding head-movement interpretation scheme using an activity-to-interpretation-scheme database.
 9. A system, comprising: a head-mountable display, wherein the system is configured for: receiving head-movement data from the head-mountable display indicative of head movement; determining that at least a portion of the head-movement data corresponds to non-UI-targeted head movements, wherein one or more sensitivity parameters are used to distinguish between UI-targeted head movements and the non-UI-targeted head movements; using (1) one or more context signals and (2) at least the portion of the head-movement data corresponding to the non-UI-targeted head movements to determine a first activity associated with the head-mountable display; determining a head-movement interpretation scheme corresponding to the first activity, wherein determining the head-movement interpretation scheme comprises determining a first value for at least one sensitivity parameter used to distinguish between the UI-targeted head movements and the non-UI-targeted head movements; and applying the determined head-movement interpretation scheme to determine the received head-movement data corresponds to one or more UI commands; and providing the one or more UI commands for at least one function of the head-mountable display; wherein the first value for the at least one sensitivity parameter maps a given amount of received head-movement data to the non-UI-targeted head movements, and wherein determining the head-movement interpretation scheme based on the first activity comprises: adjusting the first value to a different value for the at least one sensitivity parameter corresponding to the first activity; and based on the different value, modifying the given amount of head-movement data mapped to the non-UI-targeted head movements; and determining a second activity using the modified head-movement data mapped to the non-UI-targeted head movements.
 10. The system of claim 9, wherein the first value for the at least one sensitivity parameter is used to adjust one or more sensors, and wherein the one or more sensors provide at least one context signal used to determine a second activity associated with the head-mountable device.
 11. The system of claim 10, wherein using the one or more context signals to determine the second activity that is associated with the head-mountable display comprises: obtaining translational and rotational data; and using the translational and rotational data to determine the second activity associated with the head-mountable device.
 12. The system of claim 9, wherein the one or more context signals are based on the head-movement data.
 13. The system of claim 9, wherein the first value for the at least one sensitivity parameter maps a given amount of the received head-movement data to the UI-targeted head movements, and wherein determining the head-movement interpretation scheme based on the first activity comprises: adjusting the first value to a second value for the at least one sensitivity parameter corresponding to the first activity; based on the second value, modifying the given amount of head-movement data mapped to the UI-targeted head movements; and determining the head-movement interpretation scheme using the modified head-movement data mapped to the UI-targeted head movements.
 14. The system of claim 9, wherein determining the head-movement interpretation scheme that corresponds to the first activity comprises: determining an amount of virtual movement that corresponds to a particular amount of head movement; and providing a visual representation of the amount of virtual movement.
 15. The system of claim 9, wherein the one or more context signals comprise one or more of: (a) a current time, (b) a current date, (c) a current day of the week, (d) a current month, (e) a current season, (f) a time of a future event or future context, (g) a date of a future event or future context, (h) a day of the week of a future event or future context, (i) a month of a future event or future user-context, (j) a season of a future event or future context, (k) a time of a past event or past context, (l) a date of a past event or past context, (m) a day of the week of a past event or past context, (n) a month of a past event or past context, (o) a season of a past event or past context, (p) ambient temperature, (q) a current, future, or past weather forecast at a current location, (r) a current, future, or past weather forecast at a location of a planned event, (s) a current, future, or past weather forecast at or near a location of a previous event, (t) information on a calendar associated with a user-profile, (u) information accessible via a user's social networking account, (v) noise level or any recognizable sounds detected by a device, (w) devices that are currently available to the head-mountable device, (x) devices in proximity to the head-mountable device, (y) devices that are able to communicate with the head-mountable device, (z) information derived from cross-referencing any two or more of: information on the user's calendar, information available via the user's social networking account, and/or other context signals or sources of context information, (aa) health statistics or characterizations of the user's current health, (bb) a user's recent context as determined from sensors on or near the user and/or other sources of context information, (cc) a current location, (dd) a past location, and (ee) a future location.
 16. The system of claim 9, wherein determining the head-movement interpretation scheme that corresponds to the first activity comprises: mapping the first activity to a corresponding head-movement interpretation scheme using an activity-to-interpretation-scheme database.
 17. A wearable-computing system, comprising: a processor; and a non-transitory computer-readable medium configured to store at least program instructions that, when executed by the processor, cause the wearable-computing system to carry out functions comprising: receiving head-movement data indicative of head movement; determining that at least a portion of the head-movement data corresponds to non-UI-targeted head movements, wherein one or more sensitivity parameters are used to distinguish between UI-targeted head movements and the non-UI-targeted head movements, and wherein: determining the head-movement interpretation scheme comprises determining a first value for at least one sensitivity parameter used to distinguish between UI-targeted head movements and the non-UI-targeted head movements; using (1) one or more context signals and (2) at least the portion of the head-movement data corresponding to the non-UI-targeted head movements as a basis for determining a first activity that is associated with the wearable-computing system; determining a head-movement interpretation scheme corresponding to the first activity; and applying the determined head-movement interpretation scheme to determine the received head-movement data corresponds to one or more UI commands; and communicating the one or more UI commands; wherein the first value for the at least one sensitivity parameter maps a given amount of received head-movement data to the non-UI-targeted head movements, and wherein determining the head-movement interpretation scheme based on the first activity comprises: adjust the first value to a different value for the at least one sensitivity parameter corresponding to the first activity; and based on the different value, modify the given amount of head-movement data mapped to the non-UI-targeted head movements; and determining a second activity using the modified head-movement data mapped to the non-UI-targeted head movements.
 18. The wearable-computing system of claim 17, further comprising one or more sensors, wherein the first value for the at least one sensitivity parameter is used to adjust the one or more sensors, and wherein the functions further comprise requesting that the one or more sensors provide at least one context signal to determine a second activity associated with the wearable-computing system.
 19. The wearable-computing system of claim 18, wherein determining second the activity associated with the wearable-computing system comprises: obtaining translational and rotational data from the one or more sensors; and use the translational and rotational data to determine the second activity associated with the wearable-computing system.
 20. The wearable-computing system of claim 17, wherein the one or more context signals are based on the head-movement data.
 21. The wearable-computing system of claim 17, wherein the first value for the at least one sensitivity parameter maps a given amount of the received head-movement data to the UI-targeted head movements, and wherein determining the head-movement interpretation scheme based on the first activity comprises: adjusting the first value to a second value for the at least one sensitivity parameter corresponding to the first activity; based on the second value, modifying the given amount of head-movement data mapped to the UI-targeted head movements; and determining the head-movement interpretation scheme using the modified head-movement data mapped to the UI-targeted head movements.
 22. The wearable-computing system of claim 17, wherein determining the head-movement interpretation scheme that corresponds to the first activity comprises: determining an amount of virtual movement that corresponds to a particular amount of head movement; and provide a visual representation of the amount of virtual movement.
 23. The wearable-computing system of claim 17, wherein the one or more context signals comprise one or more of: (a) a current time, (b) a current date, (c) a current day of the week, (d) a current month, (e) a current season, (f) a time of a future event or future context, (g) a date of a future event or future context, (h) a day of the week of a future event or future context, (i) a month of a future event or future user-context, (j) a season of a future event or future context, (k) a time of a past event or past context, (l) a date of a past event or past context, (m) a day of the week of a past event or past context, (n) a month of a past event or past context, (o) a season of a past event or past context, (p) ambient temperature, (q) a current, future, or past weather forecast at a current location, (r) a current, future, or past weather forecast at a location of a planned event, (s) a current, future, or past weather forecast at or near a location of a previous event, (t) information on a calendar associated with a user-profile, (u) information accessible via a user's social networking account, (v) noise level or any recognizable sounds detected by a device, (w) devices that are currently available to the head-mountable device, (x) devices in proximity to the head-mountable device, (y) devices that are able to communicate with the head-mountable device, (z) information derived from cross-referencing any two or more of: information on the user's calendar, information available via the user's social networking account, and/or other context signals or sources of context information, (aa) health statistics or characterizations of the user's current health, (bb) a user's recent context as determined from sensors on or near the user and/or other sources of context information, (cc) a current location, (dd) a past location, and (ee) a future location.
 24. The wearable-computing system of claim 17, wherein determining the head-movement interpretation scheme that corresponds to the first activity comprises mapping the first activity to a corresponding head-movement interpretation scheme using an activity-to-interpretation-scheme database. 